package org.openkanban.server.service;

import java.util.List;

import org.openkanban.server.domain.Activity;
import org.openkanban.shared.dto.KanbanDto;
import org.openkanban.shared.util.StatusCodes;

/**
 * activity service api
 */
public interface ActivityService {
    Activity getActivity(Long activityId);

    List<Activity> getAll();

    List<Activity> getAllByBoardId(Long boardId);

    Activity createActivity(Activity activity);

    StatusCodes removeActivity(Long activityId);

    Activity updateActivity(Activity activity);

    KanbanDto addKanbanToActivity(Long userId, Long parentActivityId, KanbanDto kanbanDto);

    KanbanDto moveKanbanToActivity(Long userId, Long parentActivityId, Long kanbanId);

    Activity getActivityByKanbanId(Long kanbanId);
}
